﻿using Sai.Core.Introspection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Sai.Core.Rules
{
	/// <summary>
	/// Interface for class-level validation.
	/// </summary>
    public interface IClassRule : ITypeRule
    {
		/// <summary>
		/// Validate class specific declarations.
		/// </summary>
		/// <param name="was"></param>
		/// <param name="isNow"></param>
		/// <param name="typeDifference"></param>
        void Validate(ClassDeclaration was, ClassDeclaration isNow, ITypeDifference typeDifference);
    }
}
